var list=[
    {"name":"采矿业","value":"采矿业",
    "class2":
    [{"name":"煤炭开采和洗选业","value":"煤炭开采和洗选业"},
    {"name":"石油和天然气开采业","value":"石油和天然气开采业"},
    {"name":"黑色金属矿采选业","value":"黑色金属矿采选业"},
    {"name":"有色金属矿采选业","value":"有色金属矿采选业"},
    {"name":"非金属矿采选业","value":"非金属矿采选业"},
    {"name":"开采专业及辅助性活动","value":"开采专业及辅助性活动"},
    {"name":"其他采矿业","value":"其他采矿业"}]},

    {"name":"制造业","value":"制造业",
    "class2":
    [{"name":"农副食品加工业","value":"农副食品加工业"},
    {"name":"食品制造业","value":"食品制造业"},
    {"name":"酒、饮料和精制茶制造业","value":"酒、饮料和精制茶制造业"},
    {"name":"烟草制品业","value":"烟草制品业"},
    {"name":"纺织业","value":"纺织业"},
    {"name":"纺织服装、服饰业","value":"纺织服装、服饰业"},
    {"name":"皮革、毛皮、羽毛及其制品和制鞋业","value":"皮革、毛皮、羽毛及其制品和制鞋业"}]}];

var _columns = [
	{checkbox: true},
	{field: 'id', title: '标示符', align: 'center',	 valign: 'middle'},
	{title: '序号', field: 'showId', align: 'center',	 valign: 'middle',
		formatter:function(value,row,index){
			return index+1;
	}},
	{field: 'companyName', title: '企业名称', sortable: true},
	//{field: 'class1', title: '所属行业(大类)'},
	{field: 'class2', title: '所属行业', sortable: true},
	{field: 'companyType', title: '企业类型', sortable: true},
    {field: 'operation', title:'角色',
        formatter:function(value,row,index) {
            var e = '<a href="#" mce_href="#" onclick="edit(\''+ row.id + '\',\'' + 'role' + '\')"><i class="fa fa-edit" ></i>编辑</a>';
            return e;
        }
    },
    {field: 'operation', title:'用户',
        formatter:function(value,row,index) {
            var e = '<a href="#" mce_href="#" onclick="edit(\''+ row.id + '\',\'' + 'user' + '\')"><i class="fa fa-edit" ></i>编辑</a>';
            return e;
        }
    },
	//{field: 'evaBasis', title: '评价依据'},
	//{field: 'evaUnit', title: '评价单位'},
	{field: 'reporter', title: '录入人员', sortable: true},
    {field: 'linkMan', title: '联系人', sortable: true},
    {field: 'linkMethod', title: '联系方式', sortable: true},
    {field: 'createdAt', title: '创建日期', sortable: true,
        formatter:function(value, row, index) {
            return row.createdAt
        }
    },
    {field: 'note', title: '备注', sortable: true},
]


var TableInit = function () {
    var oTableInit = new Object();
    oTableInit.Init = function () {
        $('#data_table').bootstrapTable({
            url: '/companys/select-by-companyid',         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            clickToSelect: true,                //是否启用点击选中行
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            columns: _columns,
            sortable: true,                     //是否启用排序
            sortOrder: "desc",                  //排序方式
        });
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            companyId: companyId,
        };
        return temp;
    };
    return oTableInit;
};

var ButtonInit = function () {
    var oInit = new Object();

    oInit.Init = function () {
        //初始化页面上面的按钮事件
        //新增按钮
        $("#btn_add").click(function () {
            //初始化所属行业（大类）下拉框
            newSelectInit();
        	$('#new_company_name').val("");
        	$('#new_class1').val("");
        	$('#new_class2').val("");
        	$('#new_company_type').val("");
        	$('#new_eva_person').val("");
        	$('#new_eva_note').val("")
            $('#new_linkman').val("")
            $('#new_linmethod').val("")
            $('#new_data').modal();
            //时间组件加载
            $('#new_eva_date').val(getdate())
            $('#new_eva_date').datetimepicker({
        		minView: "month", //选择日期后，不会再跳转去选择时分秒
        	    language:  'zh-CN',
        	    format: 'yyyy-mm-dd',
        	    todayBtn:  true,//今日按钮
                autoclose: true,  //当选择一个日期之后是否立即关闭此日期时间选择器。
        	    endDate: new Date(), //结束日期为当前日期
        	    //startDate: new Date("2017/6/15"),  //开始时间
            });
        });


        //新增框内的提交
        $('#new_data_submit').on('click', function () {
        	var companyName = $('#new_company_name').val()
        	var class1 = $('#new_class1').val()
        	var class2 = $('#new_class2').val()
        	var companyType = $('#new_company_type').val()
        	var evaPerson = $('#new_eva_person').val()
            var date = $('#new_eva_date').val()
            var note = $("#new_eva_note").val()
            var linkman = $("#new_linkman").val()
            var linkmethod = $("#new_linkmethod").val()
            date = date.replace(/-/g,"/");
            var evaDate = new Date();

            if (companyName == "" || companyName == null){
				bootoast({
                    message: '请输入企业名称',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
			}
			if (class1 == "" || class1 == null){
                bootoast({
                    message: '请输入门类',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            if (class2 == "" || class2 == null){
                bootoast({
                    message: '请输入所属行业',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            if (companyType == "" || companyType == null){
				bootoast({
                    message: '请输入企业类型',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
			}
            if (evaPerson == "" || evaPerson == null){
                bootoast({
                    message: '请输入录入人员',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }

            if (linkman == "" || linkman == null) {
                bootoast({
                    message: '请输入联系人',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }

            if (linkmethod == "" || linkmethod == null) {
                bootoast({
                    message: '请输入联系方式',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }

            $.ajax({
                type: "post",
                url: "/companys/insert",
                async:false,
                data: {
                    'createdAt':evaDate,
                	'companyName':companyName,
                	'class1':class1,
                	'class2':class2,
                	'companyType':companyType,
                	'reporter':evaPerson,
                    'note':note,
                    'linkMan': linkman,
                    'linkMethod': linkmethod,
                },
                success: function (data) {
                    if (data['status'] == "success") {
                        bootoast({
                            message: '插入成功',
                            position: 'top',
                            type: 'success',
                            timeout: 2,
                        });
                        $("#new_data").modal('hide');
                        $('#new_eva_date').val(getdate())
                        $('#new_company_name').val("")
                        $('#new_class1').val("")
                        $('#new_class2').val("")
                        $('#new_company_type').val("")
                        $('#new_eva_person').val("")
                        $("#new_linkman").val("")
                        $("#new_linkmethod").val("")
                        $("#data_table").bootstrapTable('refresh')
                    } else {
                        bootoast({
                            message: '插入失败\n' + data['msg'],
                            position: 'top',
                            type: 'danger',
                            timeout: 2,
                        });
                    }
                },
                error: function () {
                    bootoast({
                        message: '通讯异常',
                        position: 'top',
                        type: 'danger',
                        timeout: 1.5,
                    });
                }
            });
        });

        //编辑按钮
        $("#btn_edit").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length > 1) {
                bootoast({
                    message: '只能选择一行进行编辑',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            editSelectInit();
            $('#edit_eva_date').val((arrselections[0]['createdAt']).substring(0,10));
            $('#edit_company_name').val(arrselections[0]['companyName']);
            $('#edit_class1').val(arrselections[0]['class1']);
            editGetClass2();
            $('#edit_class2').val(arrselections[0]['class2']);
            $('#edit_company_type').val(arrselections[0]['companyType']);
            $('#edit_eva_person').val(arrselections[0]['reporter']);
            $('#edit_eva_note').val(arrselections[0]['note'])
            $("#edit_linkman").val(arrselections[0]['linkMan'])
            $("#edit_linkmethod").val(arrselections[0]['linkMethod'])
            $('#edit_data').modal()
            //加载时间组件
            $('#edit_eva_date').datetimepicker({
                minView: "month", //选择日期后，不会再跳转去选择时分秒
                language:  'zh-CN',
                format: 'yyyy-mm-dd',
                todayBtn:  true,//今日按钮
                autoclose: true,  //当选择一个日期之后是否立即关闭此日期时间选择器。
                endDate: new Date(), //结束日期为当前日期
            });
        });

        //编辑框内的提交
        $('#edit_data_submit').click(function () {
            var id = $("#data_table").bootstrapTable('getSelections')[0]['id'];
            var companyName = $('#edit_company_name').val();
            var class1 = $('#edit_class1').val();
            var class2 = $('#edit_class2').val();
            var companyType = $('#edit_company_type').val();
            var reporter = $('#edit_eva_person').val();
            var date = $('#edit_eva_date').val();
            var note = $('#edit_eva_note').val()
            var linkman = $("#edit_linkman").val()
            var linkmethod = $("#edit_linkmethod").val()
            date = date.replace(/-/g,"/");
            var evaDate = new Date(date);
            $.ajax({
                type: "post",
                url: "/companys/update",
                async:false,
                data: {
                    'id':id,
                    'companyName':companyName,
                    'class1':class1,
                    'class2':class2,
                    'companyType':companyType,
                    'reporter':reporter,
                    'note':note,
                    'createdAt': evaDate,
                    'linkMan' : linkman,
                    'linkMethod':linkmethod,
                },
                success: function (data) {
                    if (data['status'] == "success") {
                        bootoast({
                            message: '修改成功',
                            position: 'top',
                            type: 'success',
                            timeout: 2,
                        });
                        $("#edit_data").modal('hide');
                        $("#data_table").bootstrapTable('refresh');
                    } else {
                        bootoast({
                            message: '修改失败\n' + data['msg'],
                            position: 'top',
                            type: 'danger',
                            timeout: 2,
                        });
                    }
                },
                error: function () {
                    bootoast({
                        message: '通讯异常',
                        position: 'top',
                        type: 'danger',
                        timeout: 1.5,
                    });
                }
            });
        });

        //搜索按钮
        $('#btn_search').click(function () {
            $('#search_content').val("");
            $('#search_data').modal();
        });

        //搜索框提交
        //搜索框内的提交
        $('#search_data_submit').click(function() {
            var ids = [];
            var searchContent = $('#search_content').val();
            var data = $('#data_table').bootstrapTable('getData', false);//获取所有数据
            for(var i = 0; i < data.length; i++) {
                var flag = false;
                for(var prop in data[i]) {
                    if(prop == 'createdAt' || prop == 'companyName' || prop == 'companyType' || prop == 'class1' || prop == 'class2' || prop == 'reporter' || prop == 'note' || prop == 'evaPerson' || prop == 'linkMan' || prop == 'linkMethod') {
                        if(String(data[i][prop]).indexOf(String(searchContent)) != -1) {
                            //alert(String(data[i][prop]));
                            flag = true;
                            break;
                        }
                    }
                }
                if(!flag) {
                    ids.push(parseInt(data[i]['id']));
                }
            }
            $('#data_table').bootstrapTable('remove', {'field': 'id', 'values': ids});
            $('#search_data').modal('hide');
        });

        // 删除按钮
        $("#btn_delete").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            values=[];
            for(var i=0;i<arrselections.length;i++)
                values.push(arrselections[i].id);
            bootbox.confirm({
                message: "确认要删除选择的数据吗？",
                locale: 'zh_CN',
                title: '操作提示',
                callback: function (result) {
                    if (result) {
                        $.ajax({
                            type: "post",
                            url: "/companys/delete",
                            async:false,
                            data: JSON.stringify(values),
                            contentType: "application/json",
                            success: function (data) {
                                if (data['status'] == "success") {
                                    bootoast({
                                        message: '删除成功',
                                        position: 'top',
                                        type: 'success',
                                        timeout: 1.5,
                                    });
                                    $("#data_table").bootstrapTable('refresh');
                                } else {
                                    bootoast({
                                        message: '删除失败\n' + data['msg'],
                                        position: 'top',
                                        type: 'danger',
                                        timeout: 1.5,
                                    });
                                }
                            }
                        });
                    }
                }
            })
        });
    };
    return oInit;
};

var hasPermission = function() {
    queryPermission('权限管理/企业管理', '新增', 'btn_add')
    queryPermission('权限管理/企业管理', '编辑', 'btn_edit')
    queryPermission('权限管理/企业管理', '删除', 'btn_delete')
}

$(function () {
    hasPermission();
    show_page_name();
    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();

    //3.隐藏列
    $('#data_table').bootstrapTable('hideColumn', 'id');

});

//小函数
//获取当前时期 yyyy-mm-dd
function getdate() {
	var date = new Date();
	var mon = date.getMonth()  + 1;         //getMonth()返回的是0-11，则需要加1
	if(mon <=9){                                     //如果小于9的话，则需要加上0
	    mon = "0" + mon;
	}
	var day = date.getDate();                   //getdate()返回的是1-31，则不需要加1
	if(day <=9){                                     //如果小于9的话，则需要加上0
	    day = "0" + day;
	}
	var date_info = date.getFullYear() + "-" + mon + "-" +  day;
	return date_info;
}

//新增时，将所属行业大类加载到选择框
function newSelectInit(){
    var class1=document.getElementById("new_class1");
    class1.options.length = 1;
    for(var e in list){
        var opt_1=new Option(list[e].name,list[e].value);
        class1.add(opt_1);
    }
}

//编辑时，将所属行业大类加载到选择框
function editSelectInit(){
    var class1=document.getElementById("edit_class1");
    class1.options.length = 1;
    for(var e in list){
        var opt_1=new Option(list[e].name,list[e].value);
         class1.add(opt_1);
    }
}

//根据所属行业(大类)，选择显示在所属行业（小类）选择框的数据
function newGetClass2(){
    //重选class1，将class2和evaBasis置为空

    var class1=document.getElementById("new_class1");
    var class2=document.getElementById("new_class2");
    var class1Value=class1.value;

    class2.options.length=1;

    for(var e in list){
        if(list[e].value==class1Value){
            for( var p in list[e].class2){
                var opt_2=new Option(list[e].class2[p].name,list[e].class2[p].value);
                class2.add(opt_2);
            }
            break;
        }
    }
}

function editGetClass2(){
    //重选class1，将class2和evaBasis置为空

    var class1=document.getElementById("edit_class1");
    var class2=document.getElementById("edit_class2");
    var class1Value=class1.value;

    class2.options.length=1;

    for(var e in list){
        if(list[e].value==class1Value){
            for( var p in list[e].class2){
                var opt_2=new Option(list[e].class2[p].name,list[e].class2[p].value);
                class2.add(opt_2);
            }
            break;
        }
    }
}

//若选择所属行业（小类）之前还没选择所属行业（大类），弹出提示信息
function newClass2Check() {
    var inputClass1 = $('#new_class1').val();
    if(inputClass1 == "" || inputClass1 == null) {
        alert("请先选择所属行业（大类）");
    }
}

function editClass2Check() {
    var inputClass1 = $('#edit_class1').val();
    if(inputClass1 == "" || inputClass1 == null) {
        alert("请先选择所属行业（大类）");
    }
}

function editGetEvaBasis() {

}

function newEvaBasisCheck() {
    var inputClass2 = $('#new_class2').val();
        if(inputClass2 == "" || inputClass2 == null) {
            alert("请先选择所属行业");
        }
}

function editEvaBasisCheck() {
    var inputClass2 = $('#edit_class2').val();
    if(inputClass2 == "" || inputClass2 == null) {
        alert("请先选择所属行业");
    }
}

var edit_id;//相当于待处理标签id
var label_eva_basis;
function edit(id, eva_basis) {
    edit_id = id;
    if(eva_basis == 'user') {
        $('#page-wrapper').load('pages/entity_user_control.html');
    }
    else {
        page_name = "角色管理"
        $('#page-wrapper').load('pages/roles.html');
    }
    //$('#page-wrapper').load(page_url);
}

function show_page_name() {
     var mystr=document.getElementById('page_name');
     mystr.innerHTML=page_name;
}